/*=============================================================================

  UI.VIEW

  FILE: UIvw.cpp
  
  DESCRIPTION

    UI.VIEW

  EXTERNALIZED FUNCTIONS


   Copyright (c) DaeSung Engineering Inc. All rights reserved.

=============================================================================*/
/*=============================================================================

  EDIT HISTORY

  ---------  -------  -------------------------------------------------------
    when       who       what, where, why
  ---------  -------  -------------------------------------------------------
   03/14/04   nso4th    Initial version

=============================================================================*/

/*=============================================================================
  HEADER INCLUSION
=============================================================================*/
#include <mainView.h>

/*=============================================================================
  INTERNAL FUNCTION DEFINITION
=============================================================================*/
//---DEFAULT
extern void vwDefault_Create(boolean enable);
extern void vwDefault_Show(boolean show);
//---DEVICE
extern void vwDevInit_Create(boolean enable);
extern void vwDevInit_Show(boolean show, boolean devInit);
//---MAIN
extern void vwMain_Create(boolean enable);
extern void vwMain_Show(boolean show);
//---MANUAL
extern void vwManual_Create(boolean enable);
extern void vwManual_Show(boolean show);
//---SETUP
extern void vwSetup_Create(boolean enable);
extern void vwSetup_Show(boolean show);
extern void vwEng_Create(boolean enable);
extern void vwCam_Create(boolean enable);
extern void vwMot_Create(boolean enable);
extern void vwAxis_Create(boolean enable);
extern void vwDio_Create(boolean enable);
extern void vwAio_Create(boolean enable);

/*=============================================================================
  EXTERNALIZED FUNCION DEFINITION
=============================================================================*/
void UIvw_Create(void)
{
	vwEng_Create(TRUE);
	vwDefault_Create(TRUE);
	vwDevInit_Create(TRUE);
	vwMain_Create(TRUE);
	vwManual_Create(TRUE);
	vwSetup_Create(TRUE);
	vwCam_Create(TRUE);
	vwMot_Create(TRUE);
	vwAxis_Create(TRUE);
	vwDio_Create(TRUE);
	vwAio_Create(TRUE);
}

void UIvw_Destroy(void) 
{
	vwAio_Create(FALSE);
	vwDio_Create(FALSE);
	vwAxis_Create(FALSE);
	vwMot_Create(FALSE);
	vwCam_Create(FALSE);
	vwEng_Create(FALSE);
	vwSetup_Create(FALSE);
	vwManual_Create(FALSE);
	vwMain_Create(FALSE);
	vwDevInit_Create(FALSE);
	vwDefault_Create(FALSE);
}

void UIvw_Select(dword vwNew)
{
	CFormCtrl	*fc = (CFormCtrl*)ObjList_Get(VIEW_CTRL);
	dword		vwCur;

	vwCur = UIprm_Get(UI_VWCURRENT_P, 0, 0);

	if((vwCur != UI_INIT_VW) && (vwNew == UI_MAIN_VW))
	{
		fc->ShowWindow(TRUE);
	}
	else
	{
		fc->ShowWindow(FALSE);
	}

	// HIDE.VIEW
	switch(vwCur)
	{
	case UI_NONE_VW:
	{
		vwDefault_Show(FALSE);
		break;
	}
	case UI_INIT_VW:
	{
		break;
	}
	case UI_DEVINIT_VW:
	{
		vwDevInit_Show(FALSE, FALSE);
		break;
	}
	case UI_DEVCLOSE_VW:
	{
		vwDevInit_Show(FALSE, FALSE);
		break;
	}
	case UI_MAIN_VW:
	{
		vwMain_Show(FALSE);
		break;
	}
	case UI_MANUAL_VW:
	{
		vwManual_Show(FALSE);
		break;
	}
	case UI_SETUP_VW:
	{
		vwSetup_Show(FALSE);
		break;
	}
	}
	// SHOW.VIEW
	switch(vwNew)
	{
	case UI_INIT_VW:
	{
		vwDefault_Show(TRUE);
		break;
	}
	case UI_DEVINIT_VW:
	{
		vwDevInit_Show(TRUE, TRUE);
		break;
	}
	case UI_DEVCLOSE_VW:
	{
		vwDevInit_Show(TRUE, FALSE);
		break;
	}
	case UI_MAIN_VW:
	{
		vwMain_Show(TRUE);
		break;
	}
	case UI_MANUAL_VW:
	{
		vwManual_Show(TRUE);
		break;
	}
	case UI_SETUP_VW:
	{
		vwSetup_Show(TRUE);
		break;
	}
	}
	UIprm_Set(UI_VWCURRENT_P, vwNew, 0);
	EHandler_SendEvent(UI_DEV, UI_VWCHANGE_E, vwNew, vwCur);
}

/*--- END OF appUIvw.cpp ---*/
